filecmp

提供比较目录和文件的功能

  • 比较文件:用filecmp提供的函数

  • 比较目录:用filecmp提供的dircmp类

  • 比较依据:文件内容、文件属性等信息

文件比较函数 描述
filecmp.cmp(f1, f2, shallow=True) 比较f1和f2两个文件,当shallow为True,比较os.stat();否则比较文件内容
filecmp.cmpfiles(dir1, dir2, common, shallow=True) 比较dir1和dir2两个目录下的common文件 当shallow为True,比较os.stat();否则比较文件内容返回三个列表组成的元组,分别是包含匹配、不匹配和错误的文件名
1
2
3
4
5
6
'''
比较: D:/App/abc 和 E:/App/abc
D:/App/def/abc 和 E:/Aapp/def/abc
'''
import filecmp
file.cmpfiles('d:/App', 'e:/app', ['abc', 'def/abc'])
目录比较 描述
dcmp = filecmp.dircmp(dir1, dir2) dcmp是一个对象,通过属性来反映目录的比较情况
dcmp的属性 描述
left 目录dir1
right 目录dir2
left_list 目录dir1的文件和子目录列表
right_list 目录dir2的文件和子目录列表
left_only 仅在目录dir1中的文件和子目录列表
right_only 仅在目录dir2中的文件和子目录列表
same_files 目录dir1和dir2中的相同文件
common 同时在目录dir1和dir2中的文件和子目录列表
diff_files 目录dir1和dir2中都存在但却不相同的文件
common_dirs 同时在dir1和dir2中的子目录列表
common_files 同时在dir1和dir2中的文件列表